package com.leetcode;

/**
 * 3396. 使数组元素互不相同所需的最少操作次数
 * 给你一个整数数组 nums，你需要确保数组中的元素 互不相同 。为此，你可以执行以下操作任意次：
 * 从数组的开头移除 3 个元素。如果数组中元素少于 3 个，则移除所有剩余元素。
 * 注意：空数组也视作为数组元素互不相同。返回使数组元素互不相同所需的 最少操作次数 。
 */
public class LeetCode3396 {

    public static void main(String[] arg0) {
        int[] nums = {1, 2, 3, 4, 2, 3, 3, 5, 7};

        boolean[] valCount = new boolean[100];
        int res = 0;
        for (int i = nums.length - 1; i >= 0; i--) {
            if (valCount[nums[i] - 1]) {
                res = i / 3 + 1;
                break;
            }
            valCount[nums[i] - 1] = true;
        }

        System.out.println("res: " + res);

    }

}
